package homework.day02;

import java.io.*;

/**
 * 将当前目录下的所有文件都复制一份，复制的文件命名为:原
 * 文件名_cp.后缀
 * 比如原文件为:test.dat
 * 复制后的文件为:test_cp.dat
 *
 * @author Xiloer
 */
public class Test03 {
    public static void main(String[] args) throws IOException {
        File[] file = new File(".").listFiles((pathname) -> pathname.isFile());
        for (File sub : file) {
//            System.out.println(sub.getName());
            //对随机访问文件的读取和写入(随机访问)   -r只读
            RandomAccessFile from = new RandomAccessFile(sub, "r");
            StringBuilder name = new StringBuilder(sub.getName());
            RandomAccessFile into = new RandomAccessFile("./cp/" + name.insert(name.lastIndexOf("."), "_cp"), "rw");
            byte data[] = new byte[1024 * 10];
            int a;
            while ((a = from.read(data)) != -1) {
                into.write(data, 0, a);
            }
            System.out.println(sub.getName()+"复制成功");
            from.close();
            into.close();

        }


    }
}


/**
 * 思路:
 * 分为几部分考虑.
 * 第一个是要获取到当前目录中的所有文件(思考哪个API可以解决)  RandomAccessFile
 * 第二个是获取到的每一个文件都要复制(复制用什么API)  RandomAccessFile
 * 第三个是复制的文件名，如何重新组建xxx_cp.xxx的名字?
 * 这里要将原文件名拆开后想办法拼接_cp.  StringBuilder
 */


